<template>
  <div class="person">
    <h2>姓名：{{ name }}</h2>
    <h2>年龄： {{ age }}</h2>
    <button @click="changeName">修改名字</button>
    <button @click="changeAge">修改年龄</button>
    <button @click="checkTel">查看联系方式</button>
  </div>
</template>

<script setup name="Person">
//ref 可以定义基本数据类型、对象型的响应式数据

import { ref } from "vue";
//你想让哪个数据是响应式的，就把它用ref包一下

let name = ref("张三"); //响应式
console.log(name);
let age = ref(18); //响应式
console.log(age);

//ref()包裹后的数据变为了对象，对象中的value值对应着我们的数据，具体可以用console.log()打印下试试
//但ref()已经为我们自动补上了.value，所以在html页面中，插值表达式中直接写数据名就好
//在JS中还是要使用.value

let tel = "123456789";

//这些数据不是响应式的，调用的是固定值，不会发生变化

function changeName() {
  name.value = "zhang-san";
  console.log(name.value);
}

function changeAge() {
  age.value += 1;
  console.log(age.value);
}

function checkTel() {
  alert(tel);
}
</script>

<style scoped>
.person {
  background-color: #c2e0f6;
  box-shadow: 0 0 10px;
  border-radius: 10px;
  padding: 20px;
}
button {
  margin: 0 5px;
}
</style>